Dynamic Alias Protection in Prototype-Based Languages

نویسندگان

  • James Noble
  • David Clarke
  • John Potter
چکیده

One of the advantages of prototype-based languages is that they provide self-sufficient objects which do not depend on classes or other objects for their definitions. But objects can refer to other objects, and the effects of these inter-object references introduce arbitrary, uncontrolled dependencies between objects. We propose adding an explicit notion of object ownership to control dependencies and references between objects. Object ownership can also enhance object cloning and avoid the prototype corruption problem, making programs easier to write and easier to understand.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Dynamic Alias Protection with Aliasing Contracts

Object-oriented languages allow any object to point to any other object, limited only by type. The resultant possible aliasing makes programs hard to verify and maintain. Much research has been done on alias protection schemes to restrict aliasing. However, existing schemes are either informal (design-patternlike) or static type-like systems. The former are hard to verify, while the latter tend...

متن کامل

Object Ownership for Dynamic Alias Protection

Interobject references in object-oriented programs allow arbitrary aliases between objects. By breaching objects' encapsulation boundaries, these aliases can make programs hard to understand and especially hard to debug. We propose using an explicit, run-time notion of object ownership to control aliases between objects in dynamically typed languages. Dynamically checking object ownership as a ...

متن کامل

Access contracts: a dynamic approach to object-oriented access protection

In object-oriented (OO) programming, variables do not contain objects directly but ad-dresses of objects on the heap. Thus, several variables can point to the same object; wecall this aliasing.Aliasing is a central feature of OO programming that enables efficient sharing of objectsacross a system. This is essential for the implementation of many programming idioms,such as it...

متن کامل

Aliasing contracts: a dynamic approach to alias protection

Object-oriented programming languages allow multiple variables to refer to the same object, a situation known as aliasing. Aliasing is a powerful tool which enables sharing of objects across a system. However, it can cause serious encapsulation breaches if not controlled properly; through aliasing, internal parts of aggregate objects can be exposed and potentially modified by any part of the sy...

متن کامل

Constraints and Aliasing Protection in ConstrainedJava

Constraint systems and alias protection schemes have been around for the last ten or fifteen years, but due to their reliance on run-time information, have never caught on in the static programming mainstream. With dynamic languages experiencing a resurgence in popularity, these techniques may finally have a chance to gain greater exposure and become more popular.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998